package com.aggregate.pay.pingan.bean;

import com.aggregate.pay.pingan.enums.CheckStatus;
import com.aggregate.pay.pingan.jackson.converter.CheckStatusDeserialize;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

/**
 * 合同列表接口－响应参数－合同信息
 * @author Moyq5
 * @date 2017年6月29日
 */
public class ContractListResultItem {

	/**
	 * 合同主键编号，必填，20
	 */
	@JsonProperty("ctt_id")
	private String contractId;
	
	/**
	 * 合同编号，必填，50
	 */
	private String code;
	
	/**
	 * 合同生效日期（yyyy-mm-dd），必填，10
	 */
	@JsonProperty("sdate")
	private String startDate;
	
	/**
	 * 合同过期日期（yyyy-mm-dd），必填，10
	 */
	@JsonProperty("edate")
	private String endDate;
	
	/**
	 * 支付方式编号，必填，9
	 */
	@JsonProperty("pmt_id")
	private String paymentId;
	
	/**
	 * 交易类型（多个以小写逗号分开，0现金，1刷卡，2主扫，3被扫，4JSPAY，5预授权），必填，20
	 */
	@JsonProperty("pmt_type")
	private String paymentType;
	
	/**
	 * 支付标签（唯一性），必填，10
	 */
	@JsonProperty("pmt_tag")
	private String paymentTag;
	
	/**
	 * 付款方式名称，必填，50
	 */
	@JsonProperty("pmt_name")
	private String paymentName;
	
	/**
	 * 付款方式名称（内部名称），必填，50
	 */
	@JsonProperty("pmt_internal_name")
	private String paymentInternalName;
	
	/**
	 * 商户编号，必填，20
	 */
	@JsonProperty("mct_no")
	private String merchNo;
	
	/**
	 * 商户名称，必填，50
	 */
	@JsonProperty("mct_name")
	private String merchName;
	
	/**
	 * 品牌名称，必填，50
	 */
	@JsonProperty("brand_name")
	private String brandName;
	
	/**
	 * 省份，必填，30
	 */
	private String province;
	
	/**
	 * 城市，必填，30
	 */
	private String city;
	
	/**
	 * 县/区，必填，30
	 */
	private String county;
	
	/**
	 * 城市编码，必填，6
	 */
	@JsonProperty("cityid")
	private String cityId;
	
	/**
	 * 详细地址，必填，150
	 */
	private String address;
	
	/**
	 * 添加时间（yyyy-mm-dd hh:ii:ss），必填
	 */
	@JsonProperty("add_time")
	private String addTime;
	
	/**
	 * 更新时间（yyyy-mm-dd hh:ii:ss），必填
	 */
	@JsonProperty("upd_time")
	private String updateTime;
	
	/**
	 * 机构编号，9
	 */
	@JsonProperty("agent_no")
	private String agentNo;
	
	/**
	 * 机构名称，50
	 */
	@JsonProperty("agent_name")
	private String agentName;
	
	/**
	 * 机构合同主键，必填，64
	 */
	@JsonProperty("tra_id")
	private String contractId1;
	
	/**
	 * 签约日期，必填，10
	 */
	@JsonProperty("sign_date")
	private String signDate;
	
	/**
	 * 签约人/客户经理，必填，9
	 */
	@JsonProperty("sign_man")
	private String signMan;
	
	/**
	 * 合同关联的门店数量，必填，9
	 */
	@JsonProperty("shop_count")
	private Integer shopCount;
	
	/**
	 * 合同状态，必填，1
	 */
	@JsonDeserialize(converter = CheckStatusDeserialize.class)
	private CheckStatus status;
	
	/**
	 * 审核备注，50
	 */
	private String remark;

	public String getContractId() {
		return contractId;
	}

	public void setContractId(String contractId) {
		this.contractId = contractId;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public String getStartDate() {
		return startDate;
	}

	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}

	public String getEndDate() {
		return endDate;
	}

	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}

	public String getPaymentId() {
		return paymentId;
	}

	public void setPaymentId(String paymentId) {
		this.paymentId = paymentId;
	}

	public String getPaymentType() {
		return paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public String getPaymentTag() {
		return paymentTag;
	}

	public void setPaymentTag(String paymentTag) {
		this.paymentTag = paymentTag;
	}

	public String getPaymentName() {
		return paymentName;
	}

	public void setPaymentName(String paymentName) {
		this.paymentName = paymentName;
	}

	public String getPaymentInternalName() {
		return paymentInternalName;
	}

	public void setPaymentInternalName(String paymentInternalName) {
		this.paymentInternalName = paymentInternalName;
	}

	public String getMerchNo() {
		return merchNo;
	}

	public void setMerchNo(String merchNo) {
		this.merchNo = merchNo;
	}

	public String getMerchName() {
		return merchName;
	}

	public void setMerchName(String merchName) {
		this.merchName = merchName;
	}

	public String getBrandName() {
		return brandName;
	}

	public void setBrandName(String brandName) {
		this.brandName = brandName;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getCounty() {
		return county;
	}

	public void setCounty(String county) {
		this.county = county;
	}

	public String getCityId() {
		return cityId;
	}

	public void setCityId(String cityId) {
		this.cityId = cityId;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getAddTime() {
		return addTime;
	}

	public void setAddTime(String addTime) {
		this.addTime = addTime;
	}

	public String getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(String updateTime) {
		this.updateTime = updateTime;
	}

	public String getAgentNo() {
		return agentNo;
	}

	public void setAgentNo(String agentNo) {
		this.agentNo = agentNo;
	}

	public String getAgentName() {
		return agentName;
	}

	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}

	public String getContractId1() {
		return contractId1;
	}

	public void setContractId1(String contractId1) {
		this.contractId1 = contractId1;
	}

	public String getSignDate() {
		return signDate;
	}

	public void setSignDate(String signDate) {
		this.signDate = signDate;
	}

	public String getSignMan() {
		return signMan;
	}

	public void setSignMan(String signMan) {
		this.signMan = signMan;
	}

	public Integer getShopCount() {
		return shopCount;
	}

	public void setShopCount(Integer shopCount) {
		this.shopCount = shopCount;
	}

	public CheckStatus getStatus() {
		return status;
	}

	public void setStatus(CheckStatus status) {
		this.status = status;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Override
	public String toString() {
		return "ContractListResultItem [contractId=" + contractId + ", code=" + code + ", startDate=" + startDate
				+ ", endDate=" + endDate + ", paymentId=" + paymentId + ", paymentType=" + paymentType + ", paymentTag="
				+ paymentTag + ", paymentName=" + paymentName + ", paymentInternalName=" + paymentInternalName
				+ ", merchNo=" + merchNo + ", merchName=" + merchName + ", brandName=" + brandName + ", province="
				+ province + ", city=" + city + ", county=" + county + ", cityId=" + cityId + ", address=" + address
				+ ", addTime=" + addTime + ", updateTime=" + updateTime + ", agentNo=" + agentNo + ", agentName="
				+ agentName + ", contractId1=" + contractId1 + ", signDate=" + signDate + ", signMan=" + signMan
				+ ", shopCount=" + shopCount + ", status=" + status + ", remark=" + remark + "]";
	}

}
